package com.lecture.javamode.factory;

import lombok.Data;

/**
 * 参数类
 * @author luyn
 * @date 2024/03/13
 */
@Data
public class MyClass {
    private String param1;
    private String param2;
    private String param3;
    private String param4;
    private String param5;

    public MyClass(String type, String value3, String value4, String value5) {
        // 根据类型创建相应的参数生成策略
        ParamStrategy param1Strategy = ParamFactory.createParamStrategy(type);
        // 生成参数1
        this.param1 = param1Strategy.generate("value1");
        // 生成参数2
        this.param2 = param1Strategy.generate("value2");
        // 通用生成参数3
        this.param3 = generateParam3(value3);
        // 通用生成参数4
        this.param4 = generateParam4(value4);
        // 通用生成参数5
        this.param5 = generateParam5(value5);
    }

    // 通用生成参数3的方法
    private String generateParam3(String value) {
        // 根据传入的值执行相应的操作，生成结果
        // 这里只是示例，具体操作根据实际需求定义
        return "Param3_" + value;
    }

    // 通用生成参数4的方法
    private String generateParam4(String value) {
        // 根据传入的值执行相应的操作，生成结果
        // 这里只是示例，具体操作根据实际需求定义
        return "Param4_" + value;
    }

    // 通用生成参数5的方法
    private String generateParam5(String value) {
        // 根据传入的值执行相应的操作，生成结果
        // 这里只是示例，具体操作根据实际需求定义
        return "Param5_" + value;
    }

    // Getters and setters if needed
}
